package com.example.gymlearning.service;

import com.example.gymlearning.dto.request.LoginRequest;
import com.example.gymlearning.dto.request.RegisterRequest;
import com.example.gymlearning.dto.response.UserResponse;
import com.example.gymlearning.entity.User;

import java.util.List;

public interface UserService {


    //注册相关的方法
    UserResponse register(RegisterRequest registerRequest);
    boolean isUserNameExist(String username);
    boolean isEmailExist(String email);

    //登陆相关的方法
    UserResponse login(LoginRequest loginRequest);

    /**
     * 验证密码是否正确
     * @param rawPassword 原始密码（明文）
     * @param encodedPassword 已加密的密码
     * @return boolean 密码验证结果，true表示密码正确，false表示密码错误
     */
    boolean validatePassword(String rawPassword,String encodedPassword);



    //用户信息相关
    UserResponse getUserById(int id);
    UserResponse getUserByUsername(String  username);
    List<UserResponse> getAllUsers();
}
